package com.yjc.hire.service;

import com.yjc.bo.CreateCompanyBO;
import com.yjc.bo.ModifyCompanyInfoBO;
import com.yjc.bo.QueryCompanyBO;
import com.yjc.bo.ReviewCompanyBO;
import com.yjc.hire.VO.CompanyInfoVO;
import com.yjc.hire.grace.result.PageGridResult;
import com.yjc.pojo.Company;
import com.yjc.pojo.CompanyPhoto;

import javax.validation.Valid;
import java.util.List;

/**
 * </p>
 *
 * @author jcyin
 * @since 2025/7/23
 * </p>
 */
public interface CompanyService {
    Company findCompanyByFullName(String fullName);

    /**
     * 创建企业
     * @param companyBO
     * @return
     */
    String  createNewCompany(CreateCompanyBO companyBO);

    /**
     * 重新设置企业
     */
    String resetCompany(CreateCompanyBO companyBO);

    Company getCompanyById(String companyId);

    public void commitReviewCompanyInfo(ReviewCompanyBO reviewCompanyBO);

    PageGridResult<List<CompanyInfoVO>> queryCompanyListPaged(@Valid QueryCompanyBO query, Integer page, Integer limit);

    CompanyInfoVO adminGetCompanyInfo(String companyId);

    /**
     * 更新审核后的信息
     * @param reviewCompanyBO
     */
    public void updateCompanyInfo(ReviewCompanyBO reviewCompanyBO);

    void modifyCompanyInfo(ModifyCompanyInfoBO companyInfoBO) throws InterruptedException;

    void saveCompanyPhoto(ModifyCompanyInfoBO companyInfoBO);

    public CompanyPhoto getPhotoByCompanyId(String companyId);
}
